package com.ktgj.customer.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.customer.domain.vo.GuaranteeCaseParameterVo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 投诉工单对象 case_complaint
 * 
 * @author ruoyi
 * @date 2022-05-27
 */
public class CaseComplaint extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 投诉记录号 */
    private Long caseComplaintId;

    /** 工单Id */
    @Excel(name = "工单Id")
    private Long caseId;

    /** 客户基本信息ID */
    @Excel(name = "客户基本信息ID")
    private Long customerId;

    /** 投诉方式主键 */
    @Excel(name = "投诉方式主键")
    private Long complaintMeansId;

    /** 投诉原因主键 */
    @Excel(name = "投诉原因主键")
    private Long complaintReasonId;

    /** 被投诉人名称 */
    @Excel(name = "被投诉人名称")
    private String complaintEmployeename;

    /** 被投诉人ID */
    @Excel(name = "被投诉人ID")
    private Long complaintEmployeeid;

    /** 投诉日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "投诉日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date complaintDate;

    /** 核实情况 */
    @Excel(name = "核实情况")
    private String confirmationDetails;

    /** 处理意见 */
    @Excel(name = "处理意见")
    private String resolutionSuggestion;

    /** 赔偿金额 */
    @Excel(name = "赔偿金额")
    private BigDecimal reimbursementAmt;

    /** 处理结果 */
    @Excel(name = "处理结果")
    private String resolutionDetails;

    /** 答复客人 */
    @Excel(name = "答复客人")
    private String consultationDetails;

    /** 投诉大类主键 */
    @Excel(name = "投诉大类主键")
    private Long complaintTypeId;

    /** 投诉结果主键 */
    @Excel(name = "投诉结果主键")
    private Long complaintReaultId;

    private GuaranteeCaseParameterVo guaranteeCase;

    public GuaranteeCaseParameterVo getGuaranteeCase()
    {
        return guaranteeCase;
    }

    public void setGuaranteeCase(GuaranteeCaseParameterVo guaranteeCase)
    {
        this.guaranteeCase = guaranteeCase;
    }

    public void setCaseComplaintId(Long caseComplaintId)
    {
        this.caseComplaintId = caseComplaintId;
    }

    public Long getCaseComplaintId() 
    {
        return caseComplaintId;
    }
    public void setCaseId(Long caseId) 
    {
        this.caseId = caseId;
    }

    public Long getCaseId() 
    {
        return caseId;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setComplaintMeansId(Long complaintMeansId) 
    {
        this.complaintMeansId = complaintMeansId;
    }

    public Long getComplaintMeansId() 
    {
        return complaintMeansId;
    }
    public void setComplaintReasonId(Long complaintReasonId) 
    {
        this.complaintReasonId = complaintReasonId;
    }

    public Long getComplaintReasonId() 
    {
        return complaintReasonId;
    }
    public void setComplaintEmployeename(String complaintEmployeename) 
    {
        this.complaintEmployeename = complaintEmployeename;
    }

    public String getComplaintEmployeename() 
    {
        return complaintEmployeename;
    }
    public void setComplaintEmployeeid(Long complaintEmployeeid) 
    {
        this.complaintEmployeeid = complaintEmployeeid;
    }

    public Long getComplaintEmployeeid() 
    {
        return complaintEmployeeid;
    }
    public void setComplaintDate(Date complaintDate) 
    {
        this.complaintDate = complaintDate;
    }

    public Date getComplaintDate() 
    {
        return complaintDate;
    }
    public void setConfirmationDetails(String confirmationDetails) 
    {
        this.confirmationDetails = confirmationDetails;
    }

    public String getConfirmationDetails() 
    {
        return confirmationDetails;
    }
    public void setResolutionSuggestion(String resolutionSuggestion) 
    {
        this.resolutionSuggestion = resolutionSuggestion;
    }

    public String getResolutionSuggestion() 
    {
        return resolutionSuggestion;
    }
    public void setReimbursementAmt(BigDecimal reimbursementAmt) 
    {
        this.reimbursementAmt = reimbursementAmt;
    }

    public BigDecimal getReimbursementAmt() 
    {
        return reimbursementAmt;
    }
    public void setResolutionDetails(String resolutionDetails) 
    {
        this.resolutionDetails = resolutionDetails;
    }

    public String getResolutionDetails() 
    {
        return resolutionDetails;
    }
    public void setConsultationDetails(String consultationDetails) 
    {
        this.consultationDetails = consultationDetails;
    }

    public String getConsultationDetails() 
    {
        return consultationDetails;
    }
    public void setComplaintTypeId(Long complaintTypeId) 
    {
        this.complaintTypeId = complaintTypeId;
    }

    public Long getComplaintTypeId() 
    {
        return complaintTypeId;
    }
    public void setComplaintReaultId(Long complaintReaultId) 
    {
        this.complaintReaultId = complaintReaultId;
    }

    public Long getComplaintReaultId() 
    {
        return complaintReaultId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("caseComplaintId", getCaseComplaintId())
            .append("caseId", getCaseId())
            .append("customerId", getCustomerId())
            .append("complaintMeansId", getComplaintMeansId())
            .append("complaintReasonId", getComplaintReasonId())
            .append("complaintEmployeename", getComplaintEmployeename())
            .append("complaintEmployeeid", getComplaintEmployeeid())
            .append("complaintDate", getComplaintDate())
            .append("confirmationDetails", getConfirmationDetails())
            .append("resolutionSuggestion", getResolutionSuggestion())
            .append("reimbursementAmt", getReimbursementAmt())
            .append("resolutionDetails", getResolutionDetails())
            .append("consultationDetails", getConsultationDetails())
            .append("complaintTypeId", getComplaintTypeId())
            .append("complaintReaultId", getComplaintReaultId())
            .toString();
    }
}
